<?php

defined('o') || exit('404 not find file'); //防跳墙
// 调用继承数据库父类
require_once('db.face.php');
// mysql 数据库类
class Mysql extends Db
{
	/**
	 * 数据库连接  
	 * ip 数据库服务器IP 
	 * username 用户名 
	 * password 密码
	 */
	private $conn; //数据库对象
	public function __construct($dbdata)
	{
		if (is_array($dbdata))
		{
			$server = $dbdata[0];
			$username = $dbdata[1];
			$password = $dbdata[2];
			if (!empty($server) && !empty($username) && !empty($password))
			{
				$this->conn = $server != '' ?mysql_connect($server, $username, $password):mysql_connect(config::create()->dbserver['server'], config::create()->dbserver['username'], config::create()->dbserver['password']);
				$this->conn === null ? false : true;
			}
		}
		
	}
	public function connect($server = '', $username = '', $password = '')
	{
		$this->conn = $server != '' ?mysql_connect($server, $username, $password):mysql_connect(config::create()->dbserver['server'], config::create()->dbserver['username'], config::create()->dbserver['password']);
		return $this->conn === null ? false : true;
	}
	/**
	 * * * 关闭连接，清理资源
	 */
	public function close()
	{
		return mysql_close($this->conn);
	}
	/**
	 * * * 返回最新插入ID
	 */public function idlast()
	{
		return mysql_insert_id($this->conn);
	}
	/**
	 * 取得前一次 MySQL 操作所影响的记录行数
	 */
	public function affectRow()
	{
		return mysql_affected_rows($this->conn);
	}
	/**
	 * * * 发送查询语句，返回真或假
	 */public function select($sql)
	{
		return mysql_query($sql, $this->conn);
	}
	public function query($string_condition,$array_column,&$count)
	{
		$result = mysql_query($string_condition,$this->conn);
		$count = 0;
		if (is_bool($result)) {
			return $result;
		}
		if (!empty($result) && !is_bool($result))
		{
			while ($row = mysql_fetch_array($result))
			{
				$array_temp = array();

				for($i = 0;$i < count($array_column);$i++)
				{
					$array_temp [$array_column[$i]] = $row[$array_column[$i]];
				}
				$array_resource [] = $array_temp;
				$count++;
				
			}
			return empty($array_resource) == false ? $array_resource:false;
		}
		else
		{
			return false;
		}
	}
	/**
	 * * * 发送查询语句返回多行数据(多维)
	 * $string_table  表名
	 * $array_column  需显示的列表字段 
	 * $string_condition  条件
	 */public function query_once($string_table, $array_column, $string_condition)
	{
		$array_resource = array();
		$resource = mysql_query('select ' . join(',', $array_column) . ' from ' . $string_table . '  ' . $string_condition . ' limit 1' , $this->conn);
		if (mysql_num_rows($resource) > 0)
		{
			while ($row = mysql_fetch_array($resource, MYSQL_ASSOC))
			{
				$array_temp = array();
				for($i = 0;$i < count($array_column);$i++)
				{
					$array_temp [$array_column[$i]] = $row[$array_column[$i]];
				}
				$array_resource [] = $array_temp;
			}
			return empty($array_resource) == false ? $array_resource:false;
		}
		else
		{
			return false;
		}
	}
	/**
	 * * * 发送查询语句返回多行数据(多维)
	 * $string_table  表名
	 * $array_column  需显示的列表字段 
	 * $string_condition  条件
	 */
	public function query_many($string_table, $array_column, $string_condition)
	{
		$array_resource = array();
		$resource = mysql_query('select ' . join(',', $array_column) . ' from ' . $string_table . ' ' . $string_condition , $this->conn);
		if (mysql_num_rows($resource) > 0)
		{
			while ($row = mysql_fetch_array($resource, MYSQL_ASSOC))
			{
				$array_temp = array();
				for($i = 0;$i < count($array_column);$i++)
				{
					$array_temp [$array_column[$i]] = $row[$array_column[$i]];
				}
				$array_resource [] = $array_temp;
			}
			return empty($array_resource) == false ? $array_resource:false;
		}
		else
		{
			return false;
		}
	}
	/**
	 * * * 发送插入语句
	 */public function insert($string_table, $array_column)
	{
		$bools = mysql_query('insert into ' . $string_table . ' (' . join(',', array_keys($array_column)) . ') values(\'' . join('\',\'', array_values($array_column)) . '\')',$this->conn);
		if ($bools)
		{
			return $this->affectRow() > 0 ? $this->affectRow() : false;
		}
		return false;
	}
	/**
	 * * * 发送修改语句
	 */public function update($string_table, $array_column, $string_condition)
	{
		$vals = array();
		foreach($array_column as $key => $val)
		{
			$vals[] = $key . '=\'' . $val . '\'';
		}
		$bools = mysql_query('update ' . $string_table . ' set ' . join(',', $vals) . ' where ' . $string_condition, $this->conn);
		if ($bools)
		{
			return $this->affectRow() > 0 ? $this->affectRow() : false;
		}
		return false;
	}
	/**
	 * * * 删除数据
	 */public function delete_data($string_table, $string_condition)
	{
		$bools = mysql_query('delete from ' . $string_table . ' where ' . $string_condition, $this->conn);
		if ($bools)
		{
			return $this->affectRow() > 0 ? $this->affectRow() : false;
		}
		return false;
	}
	/**
	 * * * 选择控制的数据库
	 */public function select_db($string_dbname)
	{
		mysql_query('use ' . $string_dbname, $this->conn);
	}
	/**
	 * 设置数据库编码
	 */
	public function setnames($codename)
	{
		mysql_query('set  names ' . $codename, $this->conn);
	}
}

?>